package com.ruoyi.teaching.service;

import java.util.List;

import com.ruoyi.teaching.domain.YaTeachingPlan;
import com.ruoyi.teaching.dto.YaTeachingPlanDTO;

/**
 * 教学计划Service接口
 *
 * @author ruoyi
 * @date 2025-09-16
 */
public interface IYaTeachingPlanService {
  /**
   * 查询教学计划
   *
   * @param id 教学计划主键
   * @return 教学计划
   */
  public YaTeachingPlan selectYaTeachingPlanById(Long id);

  /**
   * 查询教学计划列表
   *
   * @param yaTeachingPlan 教学计划
   * @return 教学计划集合
   */
  public List<YaTeachingPlan> selectYaTeachingPlanList(YaTeachingPlan yaTeachingPlan);

  /**
   * 新增教学计划
   *
   * @param yaTeachingPlan 教学计划
   * @return 结果
   */
  public int insertYaTeachingPlan(YaTeachingPlan yaTeachingPlan);

  /**
   * 修改教学计划
   *
   * @param yaTeachingPlan 教学计划
   * @return 结果
   */
  public int updateYaTeachingPlan(YaTeachingPlan yaTeachingPlan);

  /**
   * 批量删除教学计划
   *
   * @param ids 需要删除的教学计划主键集合
   * @return 结果
   */
  public int deleteYaTeachingPlanByIds(Long[] ids);

  /**
   * 删除教学计划信息
   *
   * @param id 教学计划主键
   * @return 结果
   */
  public int deleteYaTeachingPlanById(Long id);

  List<YaTeachingPlan> selectYaTeachingPlanListAll(YaTeachingPlanDTO yaTeachingPlan);

  List<YaTeachingPlan> previewTeachingPlan(YaTeachingPlanDTO plan);

  List<YaTeachingPlan> addWorkday(YaTeachingPlan yaTeachingPlan);

  List<YaTeachingPlan> addHoliday(YaTeachingPlan yaTeachingPlan);
}
